iT邦幫忙

2021 iThome 鐵人賽

DAY 10
0
自我挑戰組

ASP.NET Core & Blazor系列 第 10

Day 10 Blog and Posts

  • 分享至 

  • xImage
  •  

現在我們有一個可以輸入日誌的介面了,但日誌就是每天都要寫的意思,只有一篇怎麼夠呢?我們來加上blog。

首先建立BlogModel class,裡面很簡單只有4個Property,分別為Id、名稱、日誌列表及建立時間。
https://ithelp.ithome.com.tw/upload/images/20210910/20140893Vpjsk4r338.png

接著將Post.razor@page指示詞跟EditForm底下的Expander範例移除,打開launchSettings.jsonlaunchUrl改為Blog,因為我們的主體要改成Blog。https://ithelp.ithome.com.tw/upload/images/20210910/20140893ClQroNNNdY.png

再把PostBaseOnInitializedAsync中指派值給Post的部分移除,Post上面加入Parameter,表示要從外部傳進來。
https://ithelp.ithome.com.tw/upload/images/20210910/201408936qZYayV9Mh.png
https://ithelp.ithome.com.tw/upload/images/20210910/20140893XqGivwXZzE.png

最後建立BlogBase.csBlog.razor,可以看到BlogBase.csOnInitializedAsync呼叫一個方法loadData,實體化一個Blog,裡面的Posts有4筆資料。
https://ithelp.ithome.com.tw/upload/images/20210910/20140893LEfPEFPy4C.png

Blog.razor則是如下圖一樣,要記住Blog==null的判斷很重要,因為真實的資料大都會用非同步方式傳遞,所以取得資料的速度會比畫面渲染的時間晚,若沒有這樣判斷,很容易發生Blazor找不到該物件而報錯的狀況。
https://ithelp.ithome.com.tw/upload/images/20210910/201408936hfnCZgD2M.png

另外Post.razor也做了相應調整,可以看到畫面呈現了部落格名稱及4筆日誌,這樣一來我們就完成了簡單的部落格雛型了。
https://ithelp.ithome.com.tw/upload/images/20210910/20140893UiqU91Eunt.pnghttps://ithelp.ithome.com.tw/upload/images/20210910/20140893MjYhejW0GY.pnghttps://ithelp.ithome.com.tw/upload/images/20210910/20140893RTitWCGS3j.pnghttps://ithelp.ithome.com.tw/upload/images/20210910/201408934myjsLbLFt.png

Ref: Employee list blazor component


上一篇
Day 09 Parameters
下一篇
Day 11 Arbitrary attributes
系列文
ASP.NET Core & Blazor30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言